package com.woniuxy.carlife.service;

import com.woniuxy.carlife.domain.StoreInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.carlife.dto.StoreinfoDto;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Update;
import org.springframework.scheduling.annotation.Scheduled;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName: StoreInfoService
 *@Description: 门店详情数据层
 * @author: yanzhongliang     
 * @date: 2021-04-05
 */

public interface StoreInfoService extends IService<StoreInfo> {

    /**
     * 功能描述〈根据门店ID修改门店点赞量,评论数，门店评分〉
     * @author: yanzhongliang
     * @param: storeId,storeInfoLike，storeInfoCommentary,storeInfoScoring
     * @return: null
     * @Date 2021/4/10 11:20
     * @throws
     */

    //每天3：05执行  秒、分、时、日、月、星期、年
    @Scheduled(cron = "0 05 03 ? * *")
    public void updateStoreInfoLike(Integer storeInfoLike,Integer storeId,Integer storeInfoCommentary,BigDecimal storeInfoScoring);


    /**
     * 功能描述〈根据门店ID修改门店营业时间〉
     * @author: yanzhongliang
     * @param: storeId,storeInfoBusiness
     * @return: message
     * @Date 2021/4/10 11:26
     * @throws
     */

    public void updateStoreInfoBusiness(String storeInfoBusiness,Integer storeId);

    /**
     * 功能描述〈根据门店ID修改门店手机号〉
     * @author: yanzhongliang
     * @param: storeId,storePhone
     * @return: message
     * @Date 2021/4/12 15:38
     * @throws
     */

    public void updateStorePhone(Integer storeId, String storePhone);

    /**
     * 功能描述〈根据门店ID修改门店营业状态〉
     * @author: yanzhongliang
     * @param: storeId,storeStatus
     * @return: message
     * @Date 2021/4/12 15:41
     * @throws
     */

    public void updateStatus(Integer storeId,String storeStatus);

    /**
     * 功能描述〈根据门店ID修改门店服务标签（前端展示）〉
     * @author: yanzhongliang
     * @param: storeId,[tagsName]
     * @return: message
     * @Date 2021/4/12 16:08
     * @throws
     */

    public void updateTagsName(Integer storeId,String tagsName);

    /**
     * 功能描述〈根据门店ID修改门店收藏量〉
     * @author: yanzhongliang
     * @param: storeId,storeInfoCollect
     * @return: null
     * @Date 2021/4/10 11:26
     * @throws
     */

    //每天3：05执行  秒、分、时、日、月、星期、年
    @Scheduled(cron = "0 05 03 ? * *")
    public void updateStoreInfoCollect(Integer storeInfoCollect,Integer storeId);

    /**
     * 功能描述〈根据门店ID修改信誉分〉
     * @author: yanzhongliang
     * @param: storeId,storeInfoCredibility
     * @return: null
     * @Date 2021/4/12 10:02
     * @throws
     */

    //每天3：05执行  秒、分、时、日、月、星期、年
    @Scheduled(cron = "0 05 03 ? * *")
    public void updateStoreInfoCredibility(Integer storeId, BigDecimal storeInfoCredibility);

    /**
     * 功能描述〈根据门店ID修改总订单数〉
     * @author: yanzhongliang
     * @param: storeID,storeInfoOrder
     * @return: null
     * @Date 2021/4/12 10:07
     * @throws
     */

    //每天3：05执行  秒、分、时、日、月、星期、年
    @Scheduled(cron = "0 05 03 ? * *")
    public void updateStoreInfoOrder(Integer storeId,Integer storeInfoOrder);

    /**
     * 功能描述〈查询全部门店详情〉
     * @author: yanzhongliang
     * @param: null
     * @return: StoreinfoDto
     * @Date 2021/4/15 11:33
     * @throws
     */

    public List<StoreinfoDto> getStoreInfoAndTagsListAll();

}

